import axios from "axios";
import { ElMessage } from "element-plus";
import router from "@/router";

// 创建 axios 实例
const httpInstance = axios.create({
  baseURL: 'http://101.200.72.219:8000', // 请根据实际情况设置 baseURL
  headers: {
    "Content-Type": "application/json",
  },
  timeout: 50000,
});


// 请求拦截器
httpInstance.interceptors.request.use((config) => {
  const token = localStorage.getItem('userToken');
  if (token !== null && token !== undefined && token !== '') {
    console.log('token:',token);
    config.headers.Authorization = `${token}`;
  }
  return config;
}, (err) => {
  console.log('请求被拦截')
  return Promise.reject(err)}
);

// 错误处理函数
// const handleErrorResponse = (err) => {
//   const status = err.response.status;
//   switch (status) {
//     case 401:
//       ElMessage({
//         type: 'error',
//         message: '登录信息已失效，请重新登录',
//       });

//       break;
//     case 403:
//       ElMessage({
//         type: 'error',
//         message: '权限不足。',
//       });
//       break;
//     case 404:
//       ElMessage({
//         type: 'error',
//         message: '请求资源未找到。',
//       });
//       break;
//     default:
//       ElMessage({
//         type: 'warning',
//         message: err.response.data.message || '请求失败',
//       });
//    
//   }
//   return Promise.reject(err);
// };

// 响应拦截器
httpInstance.interceptors.response.use((res) => {
  if(res.data.message === '请先登录'||res.data.message === '认证失败') {
    // 清除本地存储中的token
    localStorage.removeItem('userToken');
    // 重定向到登录页面
    window.location.href = '/user/login';  
    ElMessage.warning(res.data.message)
  }
  return res; 
}, (err)=>{
  console.log('响应被拦截',err)
  return Promise.reject(err)
}
);


export default httpInstance;